package com.demo.service;

import com.demo.response.Result;

import java.text.ParseException;

/**
 * 质控服务类
 */
public interface QualityControlService {

    /**
     * 风险评估实施指标---VTE风险评估率
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result riskVteAssesProbability(String deptNo, String startTime, String endTime, Integer timeType);

    /**
     * 风险评估实施指标---VTE中高危患者出血风险评估率
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result riskVteCrowningPatient(String deptNo, String startTime, String endTime, Integer timeType);

    /**
     * 风险评估实施指标---VTE风险出院再评估率
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result riskVteDischargeDiagnosis(String deptNo, String startTime, String endTime, Integer timeType);

    /**
     * 预防措施实施指标---内科高危患者预防比例
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result preventHighInnerPatient(String deptNo, String startTime, String endTime, Integer timeType);

    /**
     * 预防措施实施指标---外科中/高危患者的预防比例
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result preventMiddleAndHighOuterPatient(String deptNo, String startTime, String endTime, Integer timeType);

    /**
     * 结局相关指标---医院内非预期死亡发生率
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result endingUnanticipatedDeath(String deptNo, String startTime, String endTime, Integer timeType);


    /**
     * 结局相关指标---医院内PTE死亡发生率
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result endingUnanticipatedDeathPie(String deptNo, String startTime, String endTime, Integer timeType);


    /**
     * 结局相关指标---PTE导致死亡占死亡总数比率
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result endingDeathPieContrastSum(String deptNo, String startTime, String endTime, Integer timeType);


    /**
     * 结局相关指标---PTE死亡患者中未预防的比例
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result endingDeathPieNoPreventSum(String deptNo, String startTime, String endTime, Integer timeType);


    /**
     * 诊治相关指标---PTE诊断成功率
     *
     * @param deptNo    科室/病区ID
     * @param startTime 开始时间
     * @param endTime   结束时间
     * @param timeType  时间类型 1.月度 2.季度 3.年度
     * @return
     */
    Result endingPieSuccess(String deptNo, String startTime, String endTime, Integer timeType);


    Result vtePreventionAdviceRate(String deptSn, String startTime, String endTime);

    Result dvtPreventionAdviceRate(String deptSn, String startTime, String endTime);
}
